Audio compression techniques minimize the number of digital bits used to create a representation of an input audio signal. Uncompressed high-quality digital audio signals often contain large amounts of data. The sheer size of these uncompressed signals often makes them undesirable or unsuitable for storage and transmission.
Compression techniques may be used to reduce the file size of digital signals. These compression techniques reduce the digital storage space necessary to store the audio signal for future playback or transmission. Moreover, these techniques can be used to generate a faithful representation of the audio signal at a reduced file size. This low-bitrate version of the audio signal can then be transmitted at a low bitrate over a network channel of limited bandwidth. This compressed version of the audio signal is decompressed after transmission to reconstruct a sonically-acceptable representation of the input audio signal.
As a general rule, the quality of the reconstructed audio signal is inversely proportional to the number of bits used to encode the input audio signal. In other words, the fewer bits used to encode the audio signal the greater the difference between the reconstructed audio signal and the input audio signal. Traditional audio compression techniques fix the bitrate, and thus the level of audio quality, at the time of compression encoding. The bitrate is the number of bits used to encode the input audio signal per time period. No further reduction in the bitrate can be effectuated without either recoding the input audio signal at a lower bitrate or decompressing the compressed audio signal and then recompressing the decompressed signal at a lower bitrate. These traditional techniques are not “scalable” to address the situations where different applications require bitstreams encoded at different bitrates.
One technique used to create a scalable bitstream is difference coding. Difference coding encodes the input audio signal as a high-bitrate bitstream composed of subsets of low-bitrate bitstream. The low-bitrate bitstreams then are used to construct the higher-bitrate bitstreams. Difference coding requires extensive analysis of the bitstream being scaled and is computationally intensive. This computational intensity requires significant processing power to attain real-time performance.
Another scalable coding technique uses a plurality of compression methods to create a layered scalable bitstream. This approach uses a hybrid of compression techniques to cover the desired range of scalable bitrates. However, limited scalability range and limited resolution make this layered approach unsuitable for many types of applications. For these reasons, the desirable scenario of storing a single compressed audio bitstream and delivering content from this single bitstream at different bitrates is often difficult to achieve.